<?php

abstract class Bcms_Resource_Adapter_Abstract
{
	/**
	 * Nombre identificador del recurso
	 * 
	 * @var string Identificador del recurso
	 */
	protected $_name;

	/**
	 * Campos que componen el recurso
	 * 
	 * @var array Coleccion de campos del recurso
	 */
	protected $_fields = array();

	/**
	 * Parametros de configuracion del recurso
	 * 
	 * @var array|Zend_Config Array con opciones para extender el recurso
	 */
	protected $_config;

	/**
	 * Establece el nombre del recurso
	 * 
	 * @param string Nombre del recurso
	 * @return Bcms_Resource_Adapter_Abstract
	 */
	public function setName($name)
	{
		$this->_name = $name;
		
		return $this;
	}

	/**
	 * Obtiene el nombre del recurso
	 * 
	 * @return string Nombre del recurso
	 */
	public function getName()
	{
		return $this->_name;
	}
	
	public function setConfig($config = array())
	{
		$this->_config = $config;
		
		return $this;
	}

	/**
	 * Obtiene los parametros de configuracion del recurso
	 * 
	 * @return array Parametros de configuracion
	 */
	public function getConfig()
	{
		return $this->_config;
	}

	/**
	 * Obtiene los campos que componen el recurso
	 * 
	 * @return array Campos del recurso
	 */
	public function getFields()
	{
		return $this->_fields;
	}
}